package lang;

/**
 * 这种写法起到了懒加载的效果，但只能在单线程下使用。如果在多线程下，
 * 一个线程进入了 if (singleton == null) 判断语句块，还未来得及往下执行，
 * 另一个线程也通过了这个判断语句，这时便会产生多个实例。所以在多线程环境下不可使用这种方式。
 */
public class SingL3 {

    private static SingL3 singL3;

    private SingL3() {
    }

    public static SingL3 getSingL3() {
        if (singL3 == null) {
            singL3=new SingL3();
        }
        return singL3;
    }
}
